#!/bin/bash

# RTZL AI Web 项目启动脚本

echo "🚀 启动 RTZL AI Web 智能管理平台"

# 检查是否安装了必要的依赖
check_dependencies() {
    echo "📋 检查依赖..."
    
    # 检查 Node.js
    if ! command -v node &> /dev/null; then
        echo "❌ Node.js 未安装，请先安装 Node.js 18+"
        exit 1
    fi
    
    # 检查 Python
    if ! command -v python3 &> /dev/null; then
        echo "❌ Python3 未安装，请先安装 Python 3.8+"
        exit 1
    fi
    
    echo "✅ 依赖检查完成"
}

# 启动后端服务
start_backend() {
    echo "🔧 启动后端服务..."
    cd backend
    
    # 检查虚拟环境
    if [ ! -d "venv" ]; then
        echo "📦 创建Python虚拟环境..."
        python3 -m venv venv
    fi
    
    # 激活虚拟环境
    source venv/bin/activate
    
    # 安装依赖
    echo "📦 安装Python依赖..."
    pip install -r requirements.txt
    
    # 启动服务
    echo "🌟 启动FastAPI服务..."
    python main.py &
    BACKEND_PID=$!
    
    cd ..
    echo "✅ 后端服务已启动 (PID: $BACKEND_PID)"
}

# 启动前端服务
start_frontend() {
    echo "🎨 启动前端服务..."
    cd frontend
    
    # 安装依赖
    if [ ! -d "node_modules" ]; then
        echo "📦 安装前端依赖..."
        npm install
    fi
    
    # 启动开发服务器
    echo "🌟 启动Vue开发服务器..."
    npm run dev &
    FRONTEND_PID=$!
    
    cd ..
    echo "✅ 前端服务已启动 (PID: $FRONTEND_PID)"
}

# 主函数
main() {
    check_dependencies
    start_backend
    sleep 3
    start_frontend
    
    echo ""
    echo "🎉 RTZL AI Web 启动完成！"
    echo "📱 前端地址: http://localhost:3000"
    echo "🔧 后端地址: http://localhost:8800"
    echo "📚 API文档: http://localhost:8800/docs"
    echo ""
    echo "按 Ctrl+C 停止服务"
    
    # 等待用户中断
    wait
}

# 清理函数
cleanup() {
    echo ""
    echo "🛑 正在停止服务..."
    if [ ! -z "$BACKEND_PID" ]; then
        kill $BACKEND_PID 2>/dev/null
    fi
    if [ ! -z "$FRONTEND_PID" ]; then
        kill $FRONTEND_PID 2>/dev/null
    fi
    echo "✅ 服务已停止"
    exit 0
}

# 捕获中断信号
trap cleanup SIGINT SIGTERM

# 运行主函数
main 